[INFO] cloning repository https://github.com/sudokatie/abyss
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/sudokatie/abyss" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsudokatie%2Fabyss", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsudokatie%2Fabyss'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] b5fb56d8a0a9a501995be58c696fde9ee69aa21a
[INFO] checking sudokatie/abyss against try#3857be5045fe74bd0f296f6f4c23db10f8857f73 for pr-156807
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsudokatie%2Fabyss" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/sudokatie/abyss
[INFO] finished tweaking git repo https://github.com/sudokatie/abyss
[INFO] tweaked toml for git repo https://github.com/sudokatie/abyss written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/sudokatie/abyss on toolchain 3857be5045fe74bd0f296f6f4c23db10f8857f73
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+3857be5045fe74bd0f296f6f4c23db10f8857f73" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/sudokatie/abyss already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+3857be5045fe74bd0f296f6f4c23db10f8857f73" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+3857be5045fe74bd0f296f6f4c23db10f8857f73" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 4bab0222120c49ed3a1fa70d34f48b96ba2075d8712a2046077a997726432992
[INFO] running `Command { std: "docker" "start" "-a" "4bab0222120c49ed3a1fa70d34f48b96ba2075d8712a2046077a997726432992", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "4bab0222120c49ed3a1fa70d34f48b96ba2075d8712a2046077a997726432992", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4bab0222120c49ed3a1fa70d34f48b96ba2075d8712a2046077a997726432992", kill_on_drop: false }`
[INFO] [stdout] 4bab0222120c49ed3a1fa70d34f48b96ba2075d8712a2046077a997726432992
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+3857be5045fe74bd0f296f6f4c23db10f8857f73" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 26d00ccb5e401e044e6e9911c85cc2328a1b2d0b33e015ff0c2c7cc7772225be
[INFO] running `Command { std: "docker" "start" "-a" "26d00ccb5e401e044e6e9911c85cc2328a1b2d0b33e015ff0c2c7cc7772225be", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling quote v1.0.45
[INFO] [stderr]    Compiling unicode-ident v1.0.24
[INFO] [stderr]     Checking cfg-if v1.0.4
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling libc v0.2.184
[INFO] [stderr]     Checking log v0.4.29
[INFO] [stderr]     Checking once_cell v1.21.4
[INFO] [stderr]     Checking smallvec v1.15.1
[INFO] [stderr]     Checking libloading v0.8.9
[INFO] [stderr]    Compiling pkg-config v0.3.33
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]     Checking linux-raw-sys v0.12.1
[INFO] [stderr]     Checking arrayvec v0.7.6
[INFO] [stderr]    Compiling find-msvc-tools v0.1.9
[INFO] [stderr]     Checking dlib v0.5.3
[INFO] [stderr]     Checking downcast-rs v1.2.1
[INFO] [stderr]    Compiling memchr v2.8.0
[INFO] [stderr]    Compiling cc v1.2.60
[INFO] [stderr]    Compiling wayland-client v0.31.14
[INFO] [stderr]    Compiling wayland-sys v0.31.11
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling quick-xml v0.39.2
[INFO] [stderr]    Compiling cfg_aliases v0.2.1
[INFO] [stderr]     Checking lock_api v0.4.14
[INFO] [stderr]    Compiling zerocopy v0.8.48
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]     Checking tracing-core v0.1.36
[INFO] [stderr]     Checking pin-project-lite v0.2.17
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]     Checking slab v0.4.12
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]     Checking raw-window-handle v0.6.2
[INFO] [stderr]     Checking getrandom v0.2.17
[INFO] [stderr]    Compiling wayland-backend v0.3.15
[INFO] [stderr]    Compiling rustix v0.38.44
[INFO] [stderr]     Checking ttf-parser v0.25.1
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking xcursor v0.3.10
[INFO] [stderr]     Checking ab_glyph_rasterizer v0.1.10
[INFO] [stderr]     Checking xkeysym v0.2.1
[INFO] [stderr]     Checking linux-raw-sys v0.4.15
[INFO] [stderr]     Checking memmap2 v0.9.10
[INFO] [stderr]    Compiling wayland-scanner v0.31.10
[INFO] [stderr]     Checking percent-encoding v2.3.2
[INFO] [stderr]     Checking arrayref v0.3.9
[INFO] [stderr]     Checking strict-num v0.1.1
[INFO] [stderr]    Compiling smithay-client-toolkit v0.19.2
[INFO] [stderr]    Compiling x11-dl v2.21.0
[INFO] [stderr]     Checking as-raw-xcb-connection v1.0.1
[INFO] [stderr]     Checking bitflags v2.11.0
[INFO] [stderr]     Checking x11rb-protocol v0.13.2
[INFO] [stderr]    Compiling autocfg v1.5.0
[INFO] [stderr]     Checking regex-syntax v0.8.10
[INFO] [stderr]     Checking owned_ttf_parser v0.25.1
[INFO] [stderr]     Checking ab_glyph v0.2.32
[INFO] [stderr]     Checking regex-automata v0.4.14
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling winit v0.30.13
[INFO] [stderr]     Checking itoa v1.0.18
[INFO] [stderr]     Checking powerfmt v0.2.0
[INFO] [stderr]     Checking either v1.15.0
[INFO] [stderr]    Compiling anyhow v1.0.102
[INFO] [stderr]     Checking deranged v0.5.8
[INFO] [stderr]     Checking matchers v0.2.0
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]     Checking xkbcommon-dl v0.4.2
[INFO] [stderr]     Checking tracing-log v0.2.0
[INFO] [stderr]     Checking sharded-slab v0.1.7
[INFO] [stderr]     Checking thread_local v1.1.9
[INFO] [stderr]    Compiling bytemuck_derive v1.10.2
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]     Checking polling v3.11.0
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]     Checking bytemuck v1.25.0
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]     Checking tiny-skia-path v0.11.4
[INFO] [stderr]     Checking calloop v0.13.0
[INFO] [stderr]     Checking wayland-protocols v0.32.12
[INFO] [stderr]     Checking wayland-cursor v0.31.14
[INFO] [stderr]     Checking gethostname v1.1.0
[INFO] [stderr]     Checking mint v0.5.9
[INFO] [stderr]     Checking calloop-wayland-source v0.3.0
[INFO] [stderr]     Checking num-conv v0.2.1
[INFO] [stderr]     Checking nu-ansi-term v0.50.3
[INFO] [stderr]     Checking time-core v0.1.8
[INFO] [stderr]     Checking tiny-skia v0.11.4
[INFO] [stderr]     Checking time v0.3.47
[INFO] [stderr]     Checking tracing-subscriber v0.3.23
[INFO] [stderr]     Checking itertools v0.10.5
[INFO] [stderr]     Checking crossbeam-channel v0.5.15
[INFO] [stderr]    Compiling zerofrom-derive v0.1.7
[INFO] [stderr]     Checking bumpalo v3.20.2
[INFO] [stderr]    Compiling yoke-derive v0.8.2
[INFO] [stderr]    Compiling typenum v1.19.0
[INFO] [stderr]     Checking puffin v0.19.1
[INFO] [stderr]     Checking tracing-appender v0.2.4
[INFO] [stderr]     Checking stable_deref_trait v1.2.1
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]     Checking cursor-icon v1.2.0
[INFO] [stderr]     Checking dpi v0.1.2
[INFO] [stderr]     Checking smol_str v0.2.2
[INFO] [stderr]     Checking glam v0.29.3
[INFO] [stderr]     Checking wayland-csd-frame v0.3.0
[INFO] [stderr]     Checking ron v0.8.1
[INFO] [stderr]    Compiling zerovec-derive v0.11.3
[INFO] [stderr]    Compiling cfg_aliases v0.1.1
[INFO] [stderr]     Checking zerofrom v0.1.7
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]     Checking yoke v0.8.2
[INFO] [stderr]     Checking bit-vec v0.8.0
[INFO] [stderr]     Checking profiling v1.0.17
[INFO] [stderr]     Checking hashbrown v0.17.0
[INFO] [stderr]     Checking unicode-width v0.1.14
[INFO] [stderr]     Checking equivalent v1.0.2
[INFO] [stderr]     Checking codespan-reporting v0.11.1
[INFO] [stderr]     Checking bit-set v0.8.0
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]     Checking zerovec v0.11.6
[INFO] [stderr]     Checking spirv v0.3.0+sdk-1.3.268.0
[INFO] [stderr]     Checking indexmap v2.14.0
[INFO] [stderr]     Checking unicode-xid v0.2.6
[INFO] [stderr]    Compiling ash v0.38.0+1.3.281
[INFO] [stderr]     Checking rustc-hash v1.1.0
[INFO] [stderr]    Compiling khronos-egl v6.0.0
[INFO] [stderr]    Compiling crc32fast v1.5.0
[INFO] [stderr]     Checking foldhash v0.1.5
[INFO] [stderr]     Checking hexf-parse v0.2.1
[INFO] [stderr]     Checking hashbrown v0.15.5
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking symphonia-core v0.5.5
[INFO] [stderr]     Checking crypto-common v0.1.7
[INFO] [stderr]     Checking gpu-alloc-types v0.3.0
[INFO] [stderr]     Checking gpu-descriptor-types v0.2.0
[INFO] [stderr]     Checking x11rb v0.13.2
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking gpu-alloc v0.6.0
[INFO] [stderr]     Checking tinystr v0.8.3
[INFO] [stderr]     Checking gpu-descriptor v0.3.2
[INFO] [stderr]     Checking encoding_rs v0.8.35
[INFO] [stderr]     Checking litemap v0.8.2
[INFO] [stderr]     Checking writeable v0.6.3
[INFO] [stderr]    Compiling rayon-core v1.13.0
[INFO] [stderr]     Checking renderdoc-sys v1.1.0
[INFO] [stderr]    Compiling zmij v1.0.21
[INFO] [stderr]     Checking icu_locale_core v2.2.0
[INFO] [stderr]     Checking potential_utf v0.1.5
[INFO] [stderr]     Checking zerotrie v0.2.4
[INFO] [stderr]     Checking bincode v1.3.3
[INFO] [stderr]    Compiling icu_properties_data v2.2.0
[INFO] [stderr]    Compiling icu_normalizer_data v2.2.0
[INFO] [stderr]     Checking utf8_iter v1.0.4
[INFO] [stderr]     Checking wayland-protocols-wlr v0.3.12
[INFO] [stderr]     Checking wayland-protocols-plasma v0.3.12
[INFO] [stderr]    Compiling rustversion v1.0.22
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]     Checking symphonia-metadata v0.5.5
[INFO] [stderr]    Compiling litrs v1.0.0
[INFO] [stderr]     Checking icu_collections v2.2.0
[INFO] [stderr]     Checking icu_provider v2.2.0
[INFO] [stderr]     Checking inout v0.1.4
[INFO] [stderr]     Checking rand_xorshift v0.3.0
[INFO] [stderr]     Checking twox-hash v2.1.2
[INFO] [stderr]    Compiling document-features v0.2.12
[INFO] [stderr]     Checking subtle v2.6.1
[INFO] [stderr]     Checking zeroize v1.8.2
[INFO] [stderr]     Checking cpufeatures v0.2.17
[INFO] [stderr]     Checking cipher v0.4.4
[INFO] [stderr]     Checking rayon v1.11.0
[INFO] [stderr]     Checking universal-hash v0.5.1
[INFO] [stderr]     Checking lz4_flex v0.11.6
[INFO] [stderr]     Checking noise v0.9.0
[INFO] [stderr]    Compiling naga v23.1.0
[INFO] [stderr]     Checking poly1305 v0.8.0
[INFO] [stderr]    Compiling strum_macros v0.26.4
[INFO] [stderr]     Checking icu_normalizer v2.2.0
[INFO] [stderr]     Checking icu_properties v2.2.0
[INFO] [stderr]     Checking chacha20 v0.9.1
[INFO] [stderr]     Checking symphonia-utils-xiph v0.5.5
[INFO] [stderr]     Checking sctk-adwaita v0.10.1
[INFO] [stderr]     Checking aead v0.5.2
[INFO] [stderr]    Compiling wgpu-hal v23.0.1
[INFO] [stderr]     Checking emath v0.30.0
[INFO] [stderr]    Compiling naga v24.0.0
[INFO] [stderr]    Compiling alsa-sys v0.3.1
[INFO] [stderr]     Checking static_assertions v1.1.0
[INFO] [stderr]     Checking simd-adler32 v0.3.9
[INFO] [stderr]     Checking chacha20poly1305 v0.10.1
[INFO] [stderr]     Checking ecolor v0.30.0
[INFO] [stderr]    Compiling wgpu-core v23.0.1
[INFO] [stderr]     Checking calloop v0.14.4
[INFO] [stderr]     Checking wgpu-types v23.0.0
[INFO] [stderr]     Checking idna_adapter v1.2.1
[INFO] [stderr]     Checking errno v0.3.14
[INFO] [stderr]    Compiling wgpu-hal v24.0.4
[INFO] [stderr]     Checking adler2 v2.0.1
[INFO] [stderr]     Checking nohash-hasher v0.2.0
[INFO] [stderr]    Compiling smithay-client-toolkit v0.20.0
[INFO] [stderr]     Checking epaint_default_fonts v0.30.0
[INFO] [stderr]     Checking bytes v1.11.1
[INFO] [stderr]     Checking glow v0.14.2
[INFO] [stderr]     Checking calloop-wayland-source v0.4.1
[INFO] [stderr]     Checking strum v0.26.3
[INFO] [stderr]     Checking epaint v0.30.0
[INFO] [stderr]     Checking miniz_oxide v0.8.9
[INFO] [stderr]     Checking signal-hook-registry v1.4.8
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]     Checking renetcode v0.0.12
[INFO] [stderr]     Checking wayland-protocols-experimental v20250721.0.1
[INFO] [stderr]     Checking wayland-protocols-misc v0.3.12
[INFO] [stderr]    Compiling wgpu v23.0.1
[INFO] [stderr]     Checking ordered-float v4.6.0
[INFO] [stderr]    Compiling tokio-macros v2.7.0
[INFO] [stderr]     Checking wgpu-types v24.0.0
[INFO] [stderr]     Checking form_urlencoded v1.2.2
[INFO] [stderr]     Checking mio v1.2.0
[INFO] [stderr]     Checking socket2 v0.6.3
[INFO] [stderr]    Compiling wgpu-core v24.0.5
[INFO] [stderr]    Compiling cpal v0.15.3
[INFO] [stderr]     Checking glow v0.16.0
[INFO] [stderr]     Checking extended v0.1.0
[INFO] [stderr]     Checking octets v0.3.5
[INFO] [stderr]     Checking symphonia-format-riff v0.5.5
[INFO] [stderr]     Checking renet v0.0.16
[INFO] [stderr]     Checking tokio v1.51.1
[INFO] [stderr]     Checking url v2.5.8
[INFO] [stderr]     Checking alsa v0.9.1
[INFO] [stderr]     Checking flate2 v1.1.9
[INFO] [stderr]     Checking engine_core v0.1.0 (/opt/rustwide/workdir/crates/engine_core)
[INFO] [stderr]     Checking egui v0.30.0
[INFO] [stderr]     Checking fdeflate v0.3.7
[INFO] [stderr]     Checking symphonia-codec-vorbis v0.5.5
[INFO] [stdout] warning: function `vec3_to_world_pos` is never used
[INFO] [stdout]  --> crates/engine_core/src/coords/conversions.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn vec3_to_world_pos(v: Vec3) -> WorldPos {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `world_pos_to_vec3` is never used
[INFO] [stdout]   --> crates/engine_core/src/coords/conversions.rs:15:8
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub fn world_pos_to_vec3(pos: WorldPos) -> Vec3 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `chunk_origin` is never used
[INFO] [stdout]   --> crates/engine_core/src/coords/conversions.rs:25:8
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub fn chunk_origin(chunk: ChunkPos) -> Vec3 {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `chunk_center` is never used
[INFO] [stdout]   --> crates/engine_core/src/coords/conversions.rs:35:8
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub fn chunk_center(chunk: ChunkPos) -> Vec3 {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ray_aabb` is never used
[INFO] [stdout]   --> crates/engine_core/src/math/intersect.rs:22:8
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub fn ray_aabb(ray: &Ray, aabb: &Aabb) -> Option<Intersection> {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ray_sphere` is never used
[INFO] [stdout]   --> crates/engine_core/src/math/intersect.rs:73:8
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub fn ray_sphere(ray: &Ray, sphere: &Sphere) -> Option<Intersection> {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ray_plane` is never used
[INFO] [stdout]    --> crates/engine_core/src/math/intersect.rs:106:8
[INFO] [stdout]     |
[INFO] [stdout] 106 | pub fn ray_plane(ray: &Ray, plane: &Plane) -> Option<Intersection> {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `aabb_sphere` is never used
[INFO] [stdout]    --> crates/engine_core/src/math/intersect.rs:132:8
[INFO] [stdout]     |
[INFO] [stdout] 132 | pub fn aabb_sphere(aabb: &Aabb, sphere: &Sphere) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `WindowError` is never used
[INFO] [stdout]   --> crates/engine_core/src/platform/window.rs:15:10
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub enum WindowError {
[INFO] [stdout]    |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AppHandler` is never constructed
[INFO] [stdout]    --> crates/engine_core/src/platform/window.rs:132:8
[INFO] [stdout]     |
[INFO] [stdout] 132 | struct AppHandler<F> {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run` is never used
[INFO] [stdout]    --> crates/engine_core/src/platform/window.rs:270:8
[INFO] [stdout]     |
[INFO] [stdout] 270 | pub fn run<F>(config: WindowConfig, callback: F) -> Result<(), WindowError>
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking symphonia-bundle-flac v0.5.5
[INFO] [stderr]     Checking engine_world v0.1.0 (/opt/rustwide/workdir/crates/engine_world)
[INFO] [stderr]     Checking symphonia-format-ogg v0.5.5
[INFO] [stderr]     Checking symphonia-bundle-mp3 v0.5.5
[INFO] [stderr]     Checking symphonia-codec-pcm v0.5.5
[INFO] [stderr]     Checking approx v0.5.1
[INFO] [stdout] warning: field `seed` is never read
[INFO] [stdout]   --> crates/engine_world/src/generation/noise.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct TerrainNoise {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] 23 |     seed: u64,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `AIR` is never used
[INFO] [stdout]  --> crates/engine_world/src/generation/structures.rs:9:15
[INFO] [stdout]   |
[INFO] [stdout] 9 |     pub const AIR: u16 = 0;
[INFO] [stdout]   |               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `TrenchFeature` is never used
[INFO] [stdout]   --> crates/engine_world/src/ocean/trench.rs:37:10
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub enum TrenchFeature {
[INFO] [stdout]    |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling wgpu v24.0.5
[INFO] [stderr]     Checking pxfm v0.1.28
[INFO] [stderr]     Checking dasp_sample v0.11.0
[INFO] [stderr]     Checking rustc-hash v2.1.2
[INFO] [stderr]     Checking web-time v1.1.0
[INFO] [stderr]     Checking type-map v0.5.1
[INFO] [stderr]     Checking symphonia v0.5.5
[INFO] [stderr]     Checking png v0.18.1
[INFO] [stderr]     Checking smithay-clipboard v0.7.3
[INFO] [stderr]     Checking webbrowser v1.2.0
[INFO] [stderr]     Checking arboard v3.6.1
[INFO] [stderr]     Checking triple_buffer v8.1.1
[INFO] [stderr]     Checking ringbuf v0.3.3
[INFO] [stderr]     Checking byteorder-lite v0.1.0
[INFO] [stderr]     Checking kira v0.9.6
[INFO] [stderr]     Checking engine_ai v0.1.0 (/opt/rustwide/workdir/crates/engine_ai)
[INFO] [stderr]     Checking pollster v0.4.0
[INFO] [stderr]     Checking hashbrown v0.14.5
[INFO] [stderr]     Checking spin v0.9.8
[INFO] [stderr]     Checking engine_physics v0.1.0 (/opt/rustwide/workdir/crates/engine_physics)
[INFO] [stderr]     Checking fastrand v2.4.1
[INFO] [stdout] warning: value assigned to `closest_capsule_point` is never read
[INFO] [stdout]    --> crates/engine_physics/src/collision/capsule_aabb.rs:95:37
[INFO] [stdout]     |
[INFO] [stdout]  95 |     let mut closest_capsule_point = capsule.base;
[INFO] [stdout]     |                                     ^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 112 |     closest_capsule_point = closest_point_on_segment(capsule.base, capsule.tip, closest_aabb_point);
[INFO] [stdout]     |     ----------------------------------------------------------------------------------------------- `closest_capsule_point` is overwritten here before the previous value is read
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `closest_capsule_point` is never read
[INFO] [stdout]    --> crates/engine_physics/src/collision/capsule_aabb.rs:106:13
[INFO] [stdout]     |
[INFO] [stdout] 106 |             closest_capsule_point = capsule_point;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `approx::assert_relative_eq`
[INFO] [stdout]    --> crates/engine_ai/src/swim_ai.rs:403:9
[INFO] [stdout]     |
[INFO] [stdout] 403 |     use approx::assert_relative_eq;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking tempfile v3.27.0
[INFO] [stderr]     Checking egui-winit v0.30.0
[INFO] [stderr]     Checking hecs v0.10.5
[INFO] [stderr]     Checking engine_audio v0.1.0 (/opt/rustwide/workdir/crates/engine_audio)
[INFO] [stderr]     Checking engine_network v0.1.0 (/opt/rustwide/workdir/crates/engine_network)
[INFO] [stdout] warning: enum `AmbientState` is never used
[INFO] [stdout]   --> crates/engine_audio/src/ambient.rs:40:10
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub enum AmbientState {
[INFO] [stdout]    |          ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking moxcms v0.8.1
[INFO] [stdout] warning: unused variable: `entity_id`
[INFO] [stdout]    --> crates/engine_network/src/sync/relevancy.rs:109:33
[INFO] [stdout]     |
[INFO] [stdout] 109 |     pub fn should_update(&self, entity_id: u64, entity_pos: Vec3) -> bool {
[INFO] [stdout]     |                                 ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_entity_id`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `tick_rate` is never read
[INFO] [stdout]   --> crates/engine_network/src/sync/interpolation.rs:61:5
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub struct InterpolationBuffer {
[INFO] [stdout]    |            ------------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 61 |     tick_rate: u32,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `AmbientState` is never used
[INFO] [stdout]   --> crates/engine_audio/src/ambient.rs:40:10
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub enum AmbientState {
[INFO] [stdout]    |          ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking abyss_server v0.1.0 (/opt/rustwide/workdir/crates/server)
[INFO] [stdout] warning: constant `AIR` is never used
[INFO] [stdout]  --> crates/engine_world/src/generation/structures.rs:9:15
[INFO] [stdout]   |
[INFO] [stdout] 9 |     pub const AIR: u16 = 0;
[INFO] [stdout]   |               ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `TrenchFeature` is never used
[INFO] [stdout]   --> crates/engine_world/src/ocean/trench.rs:37:10
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub enum TrenchFeature {
[INFO] [stdout]    |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `shutdown`, `current_tick`, and `player_count` are never used
[INFO] [stdout]    --> crates/server/src/server.rs:331:12
[INFO] [stdout]     |
[INFO] [stdout]  69 | impl LatticeServer {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 331 |     pub fn shutdown(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 336 |     pub fn current_tick(&self) -> u64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 341 |     pub fn player_count(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `shutdown`, `current_tick`, and `player_count` are never used
[INFO] [stdout]    --> crates/server/src/server.rs:331:12
[INFO] [stdout]     |
[INFO] [stdout]  69 | impl LatticeServer {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 331 |     pub fn shutdown(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 336 |     pub fn current_tick(&self) -> u64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 341 |     pub fn player_count(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `entity_id`
[INFO] [stdout]    --> crates/engine_network/src/sync/relevancy.rs:109:33
[INFO] [stdout]     |
[INFO] [stdout] 109 |     pub fn should_update(&self, entity_id: u64, entity_pos: Vec3) -> bool {
[INFO] [stdout]     |                                 ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_entity_id`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `closest_capsule_point` is never read
[INFO] [stdout]    --> crates/engine_physics/src/collision/capsule_aabb.rs:95:37
[INFO] [stdout]     |
[INFO] [stdout]  95 |     let mut closest_capsule_point = capsule.base;
[INFO] [stdout]     |                                     ^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 112 |     closest_capsule_point = closest_point_on_segment(capsule.base, capsule.tip, closest_aabb_point);
[INFO] [stdout]     |     ----------------------------------------------------------------------------------------------- `closest_capsule_point` is overwritten here before the previous value is read
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `closest_capsule_point` is never read
[INFO] [stdout]    --> crates/engine_physics/src/collision/capsule_aabb.rs:106:13
[INFO] [stdout]     |
[INFO] [stdout] 106 |             closest_capsule_point = capsule_point;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `WindowError` is never used
[INFO] [stdout]   --> crates/engine_core/src/platform/window.rs:15:10
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub enum WindowError {
[INFO] [stdout]    |          ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AppHandler` is never constructed
[INFO] [stdout]    --> crates/engine_core/src/platform/window.rs:132:8
[INFO] [stdout]     |
[INFO] [stdout] 132 | struct AppHandler<F> {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run` is never used
[INFO] [stdout]    --> crates/engine_core/src/platform/window.rs:270:8
[INFO] [stdout]     |
[INFO] [stdout] 270 | pub fn run<F>(config: WindowConfig, callback: F) -> Result<(), WindowError>
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking image v0.25.10
[INFO] [stderr]     Checking egui-wgpu v0.30.0
[INFO] [stderr]     Checking engine_ui v0.1.0 (/opt/rustwide/workdir/crates/engine_ui)
[INFO] [stdout] warning: unused import: `ScrollArea`
[INFO] [stdout]  --> crates/engine_ui/src/screens/chat.rs:5:31
[INFO] [stdout]   |
[INFO] [stdout] 5 | use egui::{Color32, RichText, ScrollArea, Vec2};
[INFO] [stdout]   |                               ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ScrollArea`
[INFO] [stdout]  --> crates/engine_ui/src/screens/chat.rs:5:31
[INFO] [stdout]   |
[INFO] [stdout] 5 | use egui::{Color32, RichText, ScrollArea, Vec2};
[INFO] [stdout]   |                               ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]    --> crates/engine_ui/src/hud/debug_console.rs:150:47
[INFO] [stdout]     |
[INFO] [stdout] 150 |                     .stroke(egui::Stroke::new(1.0, egui::Color32::GRAY));
[INFO] [stdout]     |                                               ^^^ help: explicitly specify the type as `f32`: `1.0_f32`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout]     = note: `#[warn(float_literal_f32_fallback)]` (part of `#[warn(future_incompatible)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]    --> crates/engine_ui/src/hud/hotbar.rs:119:64
[INFO] [stdout]     |
[INFO] [stdout] 119 |     painter.rect_stroke(rect, Rounding::same(4.0), Stroke::new(1.0, SLOT_BORDER));
[INFO] [stdout]     |                                                                ^^^ help: explicitly specify the type as `f32`: `1.0_f32`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]    --> crates/engine_ui/src/hud/debug_console.rs:150:47
[INFO] [stdout]     |
[INFO] [stdout] 150 |                     .stroke(egui::Stroke::new(1.0, egui::Color32::GRAY));
[INFO] [stdout]     |                                               ^^^ help: explicitly specify the type as `f32`: `1.0_f32`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout]     = note: `#[warn(float_literal_f32_fallback)]` (part of `#[warn(future_incompatible)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]    --> crates/engine_ui/src/hud/tooltip.rs:138:38
[INFO] [stdout]     |
[INFO] [stdout] 138 |     frame.stroke = egui::Stroke::new(1.0, Color32::from_rgb(80, 80, 120));
[INFO] [stdout]     |                                      ^^^ help: explicitly specify the type as `f32`: `1.0_f32`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]    --> crates/engine_ui/src/hud/hotbar.rs:119:64
[INFO] [stdout]     |
[INFO] [stdout] 119 |     painter.rect_stroke(rect, Rounding::same(4.0), Stroke::new(1.0, SLOT_BORDER));
[INFO] [stdout]     |                                                                ^^^ help: explicitly specify the type as `f32`: `1.0_f32`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `egui::Slider::<'a>::clamp_to_range`: Use `slider.clamping(…) instead
[INFO] [stdout]    --> crates/engine_ui/src/screens/settings.rs:416:18
[INFO] [stdout]     |
[INFO] [stdout] 416 |                 .clamp_to_range(true);
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `egui::Slider::<'a>::clamp_to_range`: Use `slider.clamping(…) instead
[INFO] [stdout]    --> crates/engine_ui/src/screens/settings.rs:430:18
[INFO] [stdout]     |
[INFO] [stdout] 430 |                 .clamp_to_range(true);
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `egui::Slider::<'a>::clamp_to_range`: Use `slider.clamping(…) instead
[INFO] [stdout]    --> crates/engine_ui/src/screens/settings.rs:453:18
[INFO] [stdout]     |
[INFO] [stdout] 453 |                 .clamp_to_range(true);
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `egui::Slider::<'a>::clamp_to_range`: Use `slider.clamping(…) instead
[INFO] [stdout]    --> crates/engine_ui/src/screens/settings.rs:468:18
[INFO] [stdout]     |
[INFO] [stdout] 468 |                 .clamp_to_range(true);
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `egui::Slider::<'a>::clamp_to_range`: Use `slider.clamping(…) instead
[INFO] [stdout]    --> crates/engine_ui/src/screens/settings.rs:483:18
[INFO] [stdout]     |
[INFO] [stdout] 483 |                 .clamp_to_range(true);
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `egui::Slider::<'a>::clamp_to_range`: Use `slider.clamping(…) instead
[INFO] [stdout]    --> crates/engine_ui/src/screens/settings.rs:498:18
[INFO] [stdout]     |
[INFO] [stdout] 498 |                 .clamp_to_range(true);
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `egui::Slider::<'a>::clamp_to_range`: Use `slider.clamping(…) instead
[INFO] [stdout]    --> crates/engine_ui/src/screens/settings.rs:513:18
[INFO] [stdout]     |
[INFO] [stdout] 513 |                 .clamp_to_range(true);
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `egui::Slider::<'a>::clamp_to_range`: Use `slider.clamping(…) instead
[INFO] [stdout]    --> crates/engine_ui/src/screens/settings.rs:537:18
[INFO] [stdout]     |
[INFO] [stdout] 537 |                 .clamp_to_range(true);
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `screen_rect`
[INFO] [stdout]   --> crates/engine_ui/src/hud/health_bar.rs:88:9
[INFO] [stdout]    |
[INFO] [stdout] 88 |     let screen_rect = ctx.screen_rect();
[INFO] [stdout]    |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_screen_rect`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]    --> crates/engine_ui/src/hud/tooltip.rs:138:38
[INFO] [stdout]     |
[INFO] [stdout] 138 |     frame.stroke = egui::Stroke::new(1.0, Color32::from_rgb(80, 80, 120));
[INFO] [stdout]     |                                      ^^^ help: explicitly specify the type as `f32`: `1.0_f32`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HEART_HALF` is never used
[INFO] [stdout]   --> crates/engine_ui/src/hud/health_bar.rs:17:7
[INFO] [stdout]    |
[INFO] [stdout] 17 | const HEART_HALF: Color32 = Color32::from_rgb(200, 40, 40);
[INFO] [stdout]    |       ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `NoTextures` is never constructed
[INFO] [stdout]   --> crates/engine_ui/src/hud/hotbar.rs:61:12
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub struct NoTextures;
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `count` and `source` are never read
[INFO] [stdout]   --> crates/engine_ui/src/screens/inventory_screen.rs:86:5
[INFO] [stdout]    |
[INFO] [stdout] 82 | struct CursorItem {
[INFO] [stdout]    |        ---------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 86 |     count: u32,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 87 |     /// Source slot the item was picked up from.
[INFO] [stdout] 88 |     source: CursorSource,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CursorItem` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Slot` and `Equipment` are never constructed
[INFO] [stdout]   --> crates/engine_ui/src/screens/inventory_screen.rs:95:5
[INFO] [stdout]    |
[INFO] [stdout] 93 | enum CursorSource {
[INFO] [stdout]    |      ------------ variants in this enum
[INFO] [stdout] 94 |     /// From inventory slot index.
[INFO] [stdout] 95 |     Slot(usize),
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 96 |     /// From equipment slot.
[INFO] [stdout] 97 |     Equipment(EquipmentSlot),
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CursorSource` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `egui::Slider::<'a>::clamp_to_range`: Use `slider.clamping(…) instead
[INFO] [stdout]    --> crates/engine_ui/src/screens/settings.rs:416:18
[INFO] [stdout]     |
[INFO] [stdout] 416 |                 .clamp_to_range(true);
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `egui::Slider::<'a>::clamp_to_range`: Use `slider.clamping(…) instead
[INFO] [stdout]    --> crates/engine_ui/src/screens/settings.rs:430:18
[INFO] [stdout]     |
[INFO] [stdout] 430 |                 .clamp_to_range(true);
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `egui::Slider::<'a>::clamp_to_range`: Use `slider.clamping(…) instead
[INFO] [stdout]    --> crates/engine_ui/src/screens/settings.rs:453:18
[INFO] [stdout]     |
[INFO] [stdout] 453 |                 .clamp_to_range(true);
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `egui::Slider::<'a>::clamp_to_range`: Use `slider.clamping(…) instead
[INFO] [stdout]    --> crates/engine_ui/src/screens/settings.rs:468:18
[INFO] [stdout]     |
[INFO] [stdout] 468 |                 .clamp_to_range(true);
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `egui::Slider::<'a>::clamp_to_range`: Use `slider.clamping(…) instead
[INFO] [stdout]    --> crates/engine_ui/src/screens/settings.rs:483:18
[INFO] [stdout]     |
[INFO] [stdout] 483 |                 .clamp_to_range(true);
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `egui::Slider::<'a>::clamp_to_range`: Use `slider.clamping(…) instead
[INFO] [stdout]    --> crates/engine_ui/src/screens/settings.rs:498:18
[INFO] [stdout]     |
[INFO] [stdout] 498 |                 .clamp_to_range(true);
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `egui::Slider::<'a>::clamp_to_range`: Use `slider.clamping(…) instead
[INFO] [stdout]    --> crates/engine_ui/src/screens/settings.rs:513:18
[INFO] [stdout]     |
[INFO] [stdout] 513 |                 .clamp_to_range(true);
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `egui::Slider::<'a>::clamp_to_range`: Use `slider.clamping(…) instead
[INFO] [stdout]    --> crates/engine_ui/src/screens/settings.rs:537:18
[INFO] [stdout]     |
[INFO] [stdout] 537 |                 .clamp_to_range(true);
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `screen_rect`
[INFO] [stdout]   --> crates/engine_ui/src/hud/health_bar.rs:88:9
[INFO] [stdout]    |
[INFO] [stdout] 88 |     let screen_rect = ctx.screen_rect();
[INFO] [stdout]    |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_screen_rect`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HEART_HALF` is never used
[INFO] [stdout]   --> crates/engine_ui/src/hud/health_bar.rs:17:7
[INFO] [stdout]    |
[INFO] [stdout] 17 | const HEART_HALF: Color32 = Color32::from_rgb(200, 40, 40);
[INFO] [stdout]    |       ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `count` and `source` are never read
[INFO] [stdout]   --> crates/engine_ui/src/screens/inventory_screen.rs:86:5
[INFO] [stdout]    |
[INFO] [stdout] 82 | struct CursorItem {
[INFO] [stdout]    |        ---------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 86 |     count: u32,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 87 |     /// Source slot the item was picked up from.
[INFO] [stdout] 88 |     source: CursorSource,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CursorItem` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> crates/engine_ui/src/screens/inventory_screen.rs:95:10
[INFO] [stdout]    |
[INFO] [stdout] 95 |     Slot(usize),
[INFO] [stdout]    |     ---- ^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CursorSource` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 95 -     Slot(usize),
[INFO] [stdout] 95 +     Slot(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Equipment` is never constructed
[INFO] [stdout]   --> crates/engine_ui/src/screens/inventory_screen.rs:97:5
[INFO] [stdout]    |
[INFO] [stdout] 93 | enum CursorSource {
[INFO] [stdout]    |      ------------ variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 97 |     Equipment(EquipmentSlot),
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CursorSource` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking engine_render v0.1.0 (/opt/rustwide/workdir/crates/engine_render)
[INFO] [stdout] warning: unused import: `glam::IVec3`
[INFO] [stdout]  --> crates/engine_render/src/lighting/block_light.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use glam::IVec3;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `glam::Vec3`
[INFO] [stdout]  --> crates/engine_render/src/lighting/light_uniform.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use glam::Vec3;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]   --> crates/engine_render/src/underwater/particles/sediment.rs:33:20
[INFO] [stdout]    |
[INFO] [stdout] 33 |         let hash = ((position[0] * 17.3 + position[2] * 31.7).rem_euclid(1.0));
[INFO] [stdout]    |                    ^                                                         ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 33 -         let hash = ((position[0] * 17.3 + position[2] * 31.7).rem_euclid(1.0));
[INFO] [stdout] 33 +         let hash = (position[0] * 17.3 + position[2] * 31.7).rem_euclid(1.0);
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `glam::IVec3`
[INFO] [stdout]  --> crates/engine_render/src/lighting/block_light.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use glam::IVec3;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `approx::assert_relative_eq`
[INFO] [stdout]    --> crates/engine_render/src/underwater/particles/plankton.rs:293:9
[INFO] [stdout]     |
[INFO] [stdout] 293 |     use approx::assert_relative_eq;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]   --> crates/engine_render/src/underwater/particles/sediment.rs:33:20
[INFO] [stdout]    |
[INFO] [stdout] 33 |         let hash = ((position[0] * 17.3 + position[2] * 31.7).rem_euclid(1.0));
[INFO] [stdout]    |                    ^                                                         ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 33 -         let hash = ((position[0] * 17.3 + position[2] * 31.7).rem_euclid(1.0));
[INFO] [stdout] 33 +         let hash = (position[0] * 17.3 + position[2] * 31.7).rem_euclid(1.0);
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `NeighborLightData` is never constructed
[INFO] [stdout]    --> crates/engine_render/src/lighting/block_light.rs:279:12
[INFO] [stdout]     |
[INFO] [stdout] 279 | pub struct NeighborLightData {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `extract_from` is never used
[INFO] [stdout]    --> crates/engine_render/src/lighting/block_light.rs:305:12
[INFO] [stdout]     |
[INFO] [stdout] 302 | impl NeighborLightData {
[INFO] [stdout]     | ---------------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 305 |     pub fn extract_from(map: &BlockLightMap) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `texture` is never read
[INFO] [stdout]   --> crates/engine_render/src/voxel/texture_atlas.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct TextureAtlas {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] 32 |     texture: wgpu::Texture,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `camera_bind_group_layout` is never read
[INFO] [stdout]   --> crates/engine_render/src/voxel/voxel_pipeline.rs:50:5
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub struct VoxelPipeline {
[INFO] [stdout]    |            ------------- field in this struct
[INFO] [stdout] 49 |     pipeline: wgpu::RenderPipeline,
[INFO] [stdout] 50 |     camera_bind_group_layout: wgpu::BindGroupLayout,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking abyss_game v0.1.0 (/opt/rustwide/workdir/crates/game)
[INFO] [stdout] warning: struct `NeighborLightData` is never constructed
[INFO] [stdout]    --> crates/engine_render/src/lighting/block_light.rs:279:12
[INFO] [stdout]     |
[INFO] [stdout] 279 | pub struct NeighborLightData {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `extract_from` is never used
[INFO] [stdout]    --> crates/engine_render/src/lighting/block_light.rs:305:12
[INFO] [stdout]     |
[INFO] [stdout] 302 | impl NeighborLightData {
[INFO] [stdout]     | ---------------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 305 |     pub fn extract_from(map: &BlockLightMap) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `texture` is never read
[INFO] [stdout]   --> crates/engine_render/src/voxel/texture_atlas.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct TextureAtlas {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] 32 |     texture: wgpu::Texture,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `camera_bind_group_layout` is never read
[INFO] [stdout]   --> crates/engine_render/src/voxel/voxel_pipeline.rs:50:5
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub struct VoxelPipeline {
[INFO] [stdout]    |            ------------- field in this struct
[INFO] [stdout] 49 |     pipeline: wgpu::RenderPipeline,
[INFO] [stdout] 50 |     camera_bind_group_layout: wgpu::BindGroupLayout,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `hecs::World`
[INFO] [stdout]  --> crates/game/src/ai/lod.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use hecs::World;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Recipe`
[INFO] [stdout]  --> crates/game/src/crafting/furnace.rs:6:40
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::crafting::{CraftingStation, Recipe, RecipeRegistry};
[INFO] [stdout]   |                                        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Inventory`
[INFO] [stdout]  --> crates/game/src/crafting/furnace.rs:7:24
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::inventory::{Inventory, ItemId, ItemStack};
[INFO] [stdout]   |                        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> crates/game/src/ecs/entity_save.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Quat` and `Vec3`
[INFO] [stdout]  --> crates/game/src/ecs/entity_save.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | use glam::{Quat, Vec3};
[INFO] [stdout]   |            ^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `engine_world::chunk::BlockId`
[INFO] [stdout]  --> crates/game/src/survival/mining.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use engine_world::chunk::BlockId;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `hecs::World`
[INFO] [stdout]  --> crates/game/src/ai/lod.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use hecs::World;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `approx::assert_relative_eq`
[INFO] [stdout]    --> crates/game/src/crafting/deep_forge.rs:215:9
[INFO] [stdout]     |
[INFO] [stdout] 215 |     use approx::assert_relative_eq;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Recipe`
[INFO] [stdout]  --> crates/game/src/crafting/furnace.rs:6:40
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::crafting::{CraftingStation, Recipe, RecipeRegistry};
[INFO] [stdout]   |                                        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Inventory`
[INFO] [stdout]  --> crates/game/src/crafting/furnace.rs:7:24
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::inventory::{Inventory, ItemId, ItemStack};
[INFO] [stdout]   |                        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> crates/game/src/ecs/entity_save.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `engine_world::chunk::BlockId`
[INFO] [stdout]  --> crates/game/src/survival/mining.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use engine_world::chunk::BlockId;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `approx::assert_relative_eq`
[INFO] [stdout]    --> crates/game/src/world/resources.rs:315:9
[INFO] [stdout]     |
[INFO] [stdout] 315 |     use approx::assert_relative_eq;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `approx::assert_relative_eq`
[INFO] [stdout]   --> crates/game/src/integration_tests.rs:98:5
[INFO] [stdout]    |
[INFO] [stdout] 98 | use approx::assert_relative_eq;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `damage` and `time` are never read
[INFO] [stdout]   --> crates/game/src/diving/decompression.rs:72:9
[INFO] [stdout]    |
[INFO] [stdout] 70 | pub struct NitrogenBubble {
[INFO] [stdout]    |            -------------- fields in this struct
[INFO] [stdout] 71 |     /// Damage from this event.
[INFO] [stdout] 72 |     pub damage: f32,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 73 |     /// Time when the event occurred.
[INFO] [stdout] 74 |     pub time: f32,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `NitrogenBubble` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WALL_GRAB_DECEL` is never used
[INFO] [stdout]   --> crates/game/src/diving/movement.rs:18:11
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub const WALL_GRAB_DECEL: f32 = 10.0;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `InventoryError` is never used
[INFO] [stdout]    --> crates/game/src/inventory/container.rs:231:10
[INFO] [stdout]     |
[INFO] [stdout] 231 | pub enum InventoryError {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_TANKS` is never used
[INFO] [stdout]  --> crates/game/src/oxygen/tank.rs:7:11
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub const MAX_TANKS: usize = 3;
[INFO] [stdout]   |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TankManager` is never constructed
[INFO] [stdout]   --> crates/game/src/oxygen/tank.rs:94:12
[INFO] [stdout]    |
[INFO] [stdout] 94 | pub struct TankManager {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> crates/game/src/oxygen/tank.rs:108:12
[INFO] [stdout]     |
[INFO] [stdout] 105 | impl TankManager {
[INFO] [stdout]     | ---------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 108 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 117 |     pub fn equip_tank(&mut self, tank: OxygenTank) -> Option<OxygenTank> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 127 |     pub fn unequip_slot(&mut self, slot: TankSlot) -> Option<OxygenTank> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 136 |     pub fn get(&self, slot: TankSlot) -> Option<&OxygenTank> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 145 |     pub fn total_capacity(&self) -> f32 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 156 |     pub fn equipped_count(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 162 |     pub fn slot_occupied(&self, slot: TankSlot) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 168 |     pub fn all_slots_full(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 173 |     pub fn equipped_tanks(&self) -> impl Iterator<Item = &OxygenTank> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DAMAGE_INVINCIBILITY` is never used
[INFO] [stdout]   --> crates/game/src/survival/combat.rs:12:11
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub const DAMAGE_INVINCIBILITY: f32 = 0.5;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `half_z`
[INFO] [stdout]    --> crates/game/src/ecs/entity_save.rs:324:55
[INFO] [stdout]     |
[INFO] [stdout] 324 |             ColliderShapeSerde::Box { half_x, half_y, half_z } => {
[INFO] [stdout]     |                                                       ^^^^^^ help: try ignoring the field: `half_z: _`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `spawns`
[INFO] [stdout]    --> crates/game/src/entities/spawning.rs:399:13
[INFO] [stdout]     |
[INFO] [stdout] 399 |         let spawns = system.tick(10.0, Vec3::ZERO, BiomeType::Plains, &[Vec3::new(50.0, 64.0, 50.0)]);
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_spawns`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `start`
[INFO] [stdout]    --> crates/game/src/pressure/suit.rs:227:13
[INFO] [stdout]     |
[INFO] [stdout] 227 |         let start = suit.integrity();
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_start`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `initial_hunger`
[INFO] [stdout]    --> crates/game/src/survival/hunger.rs:236:13
[INFO] [stdout]     |
[INFO] [stdout] 236 |         let initial_hunger = hunger.current();
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_initial_hunger`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `damage` and `time` are never read
[INFO] [stdout]   --> crates/game/src/diving/decompression.rs:72:9
[INFO] [stdout]    |
[INFO] [stdout] 70 | pub struct NitrogenBubble {
[INFO] [stdout]    |            -------------- fields in this struct
[INFO] [stdout] 71 |     /// Damage from this event.
[INFO] [stdout] 72 |     pub damage: f32,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 73 |     /// Time when the event occurred.
[INFO] [stdout] 74 |     pub time: f32,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `NitrogenBubble` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WALL_GRAB_DECEL` is never used
[INFO] [stdout]   --> crates/game/src/diving/movement.rs:18:11
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub const WALL_GRAB_DECEL: f32 = 10.0;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `InventoryError` is never used
[INFO] [stdout]    --> crates/game/src/inventory/container.rs:231:10
[INFO] [stdout]     |
[INFO] [stdout] 231 | pub enum InventoryError {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get` and `equipped_tanks` are never used
[INFO] [stdout]    --> crates/game/src/oxygen/tank.rs:136:12
[INFO] [stdout]     |
[INFO] [stdout] 105 | impl TankManager {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 136 |     pub fn get(&self, slot: TankSlot) -> Option<&OxygenTank> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 173 |     pub fn equipped_tanks(&self) -> impl Iterator<Item = &OxygenTank> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DAMAGE_INVINCIBILITY` is never used
[INFO] [stdout]   --> crates/game/src/survival/combat.rs:12:11
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub const DAMAGE_INVINCIBILITY: f32 = 0.5;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 3m 47s
[INFO] running `Command { std: "docker" "inspect" "26d00ccb5e401e044e6e9911c85cc2328a1b2d0b33e015ff0c2c7cc7772225be", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "26d00ccb5e401e044e6e9911c85cc2328a1b2d0b33e015ff0c2c7cc7772225be", kill_on_drop: false }`
[INFO] [stdout] 26d00ccb5e401e044e6e9911c85cc2328a1b2d0b33e015ff0c2c7cc7772225be
